package com.wingsoft.homeFlow.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import com.wingsoft.homeFlow.bo.*;
import com.wingsoft.homeFlow.entity.HomeFlowTaskStep;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * @author Wingsoft
 * @description 针对表【HOME_FLOW_TASK_STEP(流水线任务步骤)】的数据库操作Service
 * @createDate 2025-06-04 12:48:30
 */
public interface HomeFlowTaskStepService extends IService<HomeFlowTaskStep> {

    @Transactional
    void add(HomeFlowTaskStepAddBo homeFlowTaskStepAddBo);

    @Transactional
    void uptStatusById(HomeFlowTaskStepUptBo homeFlowTaskStepUptBo);

    @Transactional
    void uptById(HomeFlowTaskStepUptBo homeFlowTaskStepUptBo);

    @Transactional
    void delById(String id);

    HomeFlowTaskStepVo getVoById(String id);

    List<HomeFlowTaskStepVo> listVoByTaskCode(String taskCode);

    List<HomeFlowTaskStep> listByTaskCode(String taskCode);

    Page<HomeFlowTaskStepVo> page(HomeFlowTaskStepQo homeFlowTaskStepQo);

    List<String> parseRespVarPath(HomeFlowTaskStepExecBo homeFlowTaskStepExecBo);

    Object execTaskStep(HomeFlowTaskStepExecBo homeFlowTaskStepExecBo);

    String getRedisKeyFlowExecTask(String taskCode);

    List<HomeFlowTaskStep> listByTaskCodeAndStepCode(String taskCode, String stepCode);
}
